// 获取图片URL
export const getImageUrl = (url: string, defaultUrl: string = ''): string => {
  if (!url) return defaultUrl;
  
  // 如果是相对路径，添加基础URL
  if (url.startsWith('/')) {
    // 如果是上传的活动图片路径
    if (url.includes('/uploads/activities/')) {
      // 将路径转换为API路径
      const filename = url.split('/').pop();
      return `${import.meta.env.VITE_APP_API_BASE_URL}/api/file/uploads/activities/${filename}`;
    }
    
    // 如果是上传的头像路径
    if (url.includes('/uploads/avatars/') || url.includes('/static/uploads/avatars/')) {
      // 将路径转换为API路径
      const filename = url.split('/').pop();
      return `${import.meta.env.VITE_APP_API_BASE_URL}/api/file/avatar/${filename}`;
    }
    
    // 如果是其他上传文件路径
    if (url.startsWith('/uploads/') || url.startsWith('/static/uploads/')) {
      // 将路径转换为API路径
      const filePath = url.substring(url.includes('/static/uploads/') ? '/static/uploads/'.length : '/uploads/'.length);
      return `${import.meta.env.VITE_APP_API_BASE_URL}/api/file/uploads/${filePath}`;
    }
    
    // 如果是静态文件路径
    if (url.startsWith('/static/')) {
      // 将路径转换为API路径
      const filePath = url.substring('/static/'.length);
      return `${import.meta.env.VITE_APP_API_BASE_URL}/api/file/static/${filePath}`;
    }
    
    // 其他API路径
    return `${import.meta.env.VITE_APP_API_BASE_URL}/api${url}`;
  }
  
  return url;
};

/**
 * 图片加载错误处理函数
 * @param e 错误事件
 * @param fallback 加载失败时的默认图片
 */
export const handleImageError = (e: Event, fallback = 'https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg'): void => {
  const img = e.target as HTMLImageElement;
  console.log('图片加载失败:', img.src);
  img.src = fallback;
};





